/* 
 * File:   SwitchCurrentStackMemento.h
 * Author: Gab'z
 *
 * Created on 5 juin 2012, 18:04
 */

#ifndef SWITCHCURRENTSTACKMEMENTO_H
#define	SWITCHCURRENTSTACKMEMENTO_H

#include "Memento.h"
#include "../command/literal/Integer.h"

namespace calculator {
    class UndoableRedoableCommand;

    class SwitchCurrentStackMemento : public Memento {
        friend class SwitchCurrentStackCommand;

    public:
        SwitchCurrentStackMemento(
                UndoableRedoableCommand* undoableRedoableCommand,
                const Integer* integer,
                int currentMementoIndex);
        virtual ~SwitchCurrentStackMemento();

    private:
        const Integer* _integer;
        unsigned int _currentMementoIndex;

        SwitchCurrentStackMemento(const SwitchCurrentStackMemento& orig);
    };
}

#endif	/* SWITCHCURRENTSTACKMEMENTO_H */

